def outputCheckSum(list_data):
    data = bytearray.fromhex(list_data)
    crc = 0xFFFF
    for pos in data:
        crc ^= pos
        for i in range(8):
            if (crc & 1) != 0:
                crc >>= 1
                crc ^= 0xA001
            else:
                crc >>= 1
    return hex(((crc & 0xff) << 8) + (crc >> 8))


if __name__ == "__main__":
    print outputCheckSum('14 23e04800 ac9a1e83839a1c3f6b100341568d29c1')
